package com.yc.snack.listener;

import com.yc.snack.util.ConstantInfo;
import com.yc.snack.util.StringUtil;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import java.io.File;

/**
 * @Auther: HuYang
 * @Date: 2022/11/10 - 11 - 10 - 18:46
 * @Description: com.yc.snack.listener
 * @version: 1.0
 */
@WebListener
public class CreateUploadPathListener implements ServletContextListener {
    /**
     * 初始化的时候,也就是应用程序启动,application创建的时候运行
     * @param sce
     */
    public void contextInitialized(ServletContextEvent sce){
        //获取web.xml文件中的context-param配置参数
        String path = sce.getServletContext().getInitParameter("uploadPath");
        if (StringUtil.checkNull(path)){
            //如果没有配置,则给一个默认的
            path = "snacknet_pics";
        }

        //判断这个路径是否存在,这个路径应该是在tomcat的webapps目录下
        String basepath = sce.getServletContext().getRealPath("/");//获取这个项目部署的真实路径
        System.out.println("huyang = " + basepath);
        //在basepath的上一级目录即webapps下创建path目录
//        String parent = new File(basepath).getParent();
        String parent = new File(basepath).getAbsolutePath();
        File fl = new File(parent, path);
        if(!fl.exists()){
            fl.mkdirs();//如果不存在则创建
        }

        ConstantInfo.basepath = parent;
        ConstantInfo.uploadpath = path;
    }
}
